package com.manager.plat.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * 基本工具类
 * @author liugeng
 *
 */
public class BaseUtil {
	/**
	 * 日志打印Jdbctemplate的sql
	 * @param sql   sql语句
	 * @param args	参数
	 * @return String
	 */
	public static String logSQL(String sql, Object args[]) {
		if (args == null){
			return sql;
		}
		for (int i = 0; i < args.length; i++) {
			if (args[i] != null) {
				String param = args[i].toString().replace("$", "\\$");
				sql = sql.replaceFirst("\\?",
						param.length() == 0 ? param
								: "\\'" + param + "'");
			} else {
				sql = sql.replaceFirst("\\?", "null");
			}
		}
		return sql;
	}
	
	/**
	 * 对字符串作MD5加密处理
	 * 
	 * @param inStr 需要被处理的字符串
	 * @return 被处理后的字符串，被转换为16进制表示的字符串
	 * @throws NoSuchAlgorithmException
	 */
	public static String md5(String content) throws NoSuchAlgorithmException {
		MessageDigest md = MessageDigest.getInstance("MD5");
		md.update(content.getBytes());
		byte[] r = md.digest();
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < r.length; i++) {
			byte b = r[i];
			sb.append(Character.forDigit((b >> 4 & 0x0F), 16));
			sb.append(Character.forDigit((b & 0x0F), 16));
		}
		return sb.toString();
	}
}
